فارو (زبان برنامه‌نویسی)

از ویکی‌پدیا، دانشنامهٔ آزاد
زبان برنامه‌نویسی فارو
توسعه‌دهندهکنسرسیوم فارو
ظهوریافته در۲۰۰۸؛ ۱۶ سال پیش (۲۰۰۸-خطا: زمان نامعتبر}})
انتشار پایدار
۷.۰
۲۲ ژانویه ۲۰۱۹؛ ۵ سال پیش (۲۰۱۹-22}})
زبان پیاده‌سازی
اسمال‌تاک
سیستم‌عاملمایکروسافت ویندوز، لینوکس، مک‌اواس و غیره
پروانهپروانه ام‌آی‌تی، و بخش‌هایی مجوز آپاچی[۱]
وبگاه
متأثر از
اسمال‌تاک (Squeak)

فارو (انگلیسی: Pharo) یک پیاده‌سازی متن باز از زبان و محیط برنامه‌نویسی اسمال تاک است. فارو ویژگی‌های زنده زبان برنامه‌نویسی مانند دستکاری فوری اشیاء، به روز رسانی آنی و کامپایل دوباره آنی را دارد. محیط برنامه‌نویسی زنده در قلب سیستم است.

معرفی[ویرایش]

فارو یک واژه یونانی (Φάρος) به معنی فانوس دریایی است. لوگو فارو یک نقاشی از فانوس دریایی درون حرف آخر فارو یعنی O است.

تاریخچه[ویرایش]

فارو به عنوان شاخه Squeak، یک محیط برنامه‌نویسی متن باز اسمال تاک ساخته شده با تیم Smalltalk-80 (دن اینگالز و الن کی) به وجود آمده است. به روی مهندسی نرم‌افزار و تکنیک‌های پیاده‌سازی مدرن تمرکز دارد. فارو توسط کنسرسیوم فارو (برای کمپانی‌ها) و انجمن فارو (برای کاربران) پشتیبانی می‌شود.

کاربرد فارو[ویرایش]

کمپانی‌ها و مشاوران[ویرایش]

بعضی از کمپانی‌ها از فارو برای پیاده‌سازی پروژه‌های خود استفاده می‌کنند. به‌طور خاص، از موارد زیر استفاده می‌کنند:

برای پیاده‌سازی پویای وب از seaside

برای پیاده‌سازی سرور از zinc

برای آنالیز داده و نرم‌افزارهای انواع زبان‌های برنامه‌نویسی از Moose

برای رابط کاربری پیشرفته از کتابخانه گرافیکی

برای نمایش داده از Roassal

کنسرسیوم فارو اخیراً برای کمپانی‌هایی که می‌خواهند از پروژه فارو پشتیبانی کننده به وجود آمده است. انجمن فارو اخیراً برای کاربرانی که می‌خواهند از پروژه فارو پشتیبانی کنند به وجود آمده است.

کارایی و ماشین مجازی[ویرایش]

فارو بروی یک ماشین مجازی که تقریباً کاملاً در اسمال تاک نوشته شده‌است تکیه کرده‌است. اوایل ۲۰۰۸، یک ماشین مجازی جدید (cog) برای squek, pharo و newspeak پیاده‌سازی شده‌است که کارایی آن نزدیک به سریع‌ترین ماشین مجازی اسمال تاک است. در ۲۰۱۴/۲۰۱۵ جامعه ماشین مجازی در حال کار بر روی spur، یک مدیریت حافظه جدید برای cog که دوباره کارایی را بالا برده و پشتیبانی بهتری برای ماشین مجازی ۶۴-بیتی دارد.

منابع[ویرایش]